Control Normalization for Unmanned Autonomous Systems

ABSTRACT

Methods, systems, and process-readable media include an autonomous vehicle override control system that receives override commands from a pilot qualified on a first type of unmanned autonomous vehicle (UAV) and translates the inputs into suitable commands transmitted to a target UAV of a second UAV type. A pilot&#39;s certification for a first UAV type may be determined from the pilot&#39;s login credentials. The system may obtain a first control model for the first UAV type and a second control model for the target UAV. Pilot input commands processed through the first control model may be used to calculate movements of a virtual UAV of the type. The system may estimate physical movement of the target UAV similar to the first physical movement, and generate an override command for the target UAV using the second control model and the second physical movement. Control models may accommodate current conditions and pilot experience.

BACKGROUND

Different types of vehicles may control and operate in very differentmanners. For example, an F-16 fighter jet has different controls andoperating characteristics than a 747 passenger jet or a helicopter. Dueto such differences, robust training and certification are typicallyrequired for pilots to operate specific vehicles, especially fordifferent types or categories of aircraft. For example, aircraft pilotsmay have different certifications, ratings, privileges, and limitationsregarding the specific make and model of aircraft they are able andallowed to control due to training and/or rated skill sets. Similarcertifications may one day be needed for piloting unmanned vehicles,such as commercial and/or hobby drone piloting.

Before operating a different aircraft type or category, pilots typicallyneed to first become certified for or “checked out” in the new aircrafttype. For example, before a fixed-wing pilot can fly a helicopter thepilot must obtain numerous hours of aeronautical experience in thespecific type of helicopter before being allowed to obtain a license tooperate such an aircraft, regardless of previous experience withfixed-wing aircraft.

Nevertheless, piloting experience and knowledge regarding one vehicletype may be relevant to another vehicle type or otherwise translate forsome phases of operations of the other vehicle type. For example, afixed-wing aircraft pilot's experience may be at least partiallyrelevant to controlling some aspects of a helicopter. Such overlappingpilot experience may similarly apply to unmanned autonomous vehicles(UAVs), including air vehicle UAVs that are fixed-wing-type androtorcraft-type (e.g., quadcopters, multicopters, etc.). For example, aseach air vehicle UAV type may share some similar characteristic wherelift and power are involved in order to maintain controlled flight, apilot licensed or otherwise certified to control one air vehicle UAVtype may have some ability to fly another air vehicle UAV type.Regardless of any similarities, fixed-wing-type and rotorcraft-type UAVsclearly exhibit very different handling characteristics and controlrules in some phases of their operation. Thus pilots' training for onetype of aircraft (manned or UAV) may not make them eligible to properlyoperate other types of aircraft. For example, a fixed-wing aircraftpilot may be able to fly a rotorcraft-type UAV during the cruise phaseof flight with some difficulty, but unable to land the rotorcraft-typeUAV due to the very different landing methods used by rotorcraft.

SUMMARY

Various embodiments provide methods, devices, systems, andnon-transitory process-readable storage media for providing overridecommands to a target unmanned autonomous vehicle (UAV). Variousembodiments include methods performed by a processor of a ground-basedautonomous vehicle override control system that may include operationsfor identifying a certification for a remote pilot for a first UAV typebased on login credentials from the remote pilot, obtaining a firstcontrol model for the first UAV type based on the certification,obtaining a second control model for the target UAV of a second UAVtype, receiving an input command from a control input devicecorresponding to the first UAV type, calculating a first physicalmovement of a virtual UAV of the first UAV type using the first controlmodel and the input command, estimating a second physical movement ofthe target UAV that is similar to the first physical movement, andgenerating an override command for the target UAV using the secondcontrol model and the second physical movement.

In some embodiments, the method may further include transmitting theoverride command to the target UAV. In some embodiments, the method mayfurther include obtaining connection information for communicating withthe target UAV, in which the connection information may be one or moreof an access code, a transmission frequency, a transmission medium, anidentifier of an intermediary receiver device, and a message format, andin which transmitting the override command to the target UAV may includetransmitting the override command to the target UAV using the connectioninformation for the target UAV.

In some embodiments, identifying the certification for the remote pilotfor the first UAV type based on the login credentials from the remotepilot may include obtaining a pilot profile for the remote pilot,wherein the pilot profile may be a data record that includes dataindicating one or more certifications for piloting different UAV types,and identifying the certification for the first UAV type based on thepilot profile. In some embodiments, the method may further includeretrieving an experience profile based on the login credentials from theremote pilot, wherein the experience profile may be stored within thepilot profile and includes data indicating experience with UAVs of thesecond UAV type, and configuring the first control model and the secondcontrol model based at least in part on the experience profile. In someembodiments, the experience with the UAVs of the second UAV type mayinclude a time spent controlling UAVs of the second UAV type, adiversity of maneuvers executed with regard to the UAVs of the secondUAV type, or both. In some embodiments, the method may further includeupdating the experience profile based on the input command.

In some embodiments, obtaining the first control model for the first UAVtype based on the certification and obtaining the second control modelfor the target UAV of the second UAV type may include retrieving thefirst control model and the second control model from a database ofcontrol models. In some embodiments, retrieving the first control modeland the second control model from the database of control models mayinclude downloading the database of control models from a remote server.

In some embodiments, calculating the first physical movement of thevirtual UAV of the first UAV type using the first control model and theinput command may include performing a simulation using the firstcontrol model to determine how the virtual UAV of the first UAV typewould move in response to receiving the input command. In someembodiments, performing the simulation using the first control model todetermine how the virtual UAV of the first UAV type would move inresponse to receiving the input command may include identifying asetting associated with the virtual UAV for an engine, a flap, anactuator, a rotor, a ballast, or any combination thereof. In someembodiments, performing the simulation using the first control model todetermine how the virtual UAV would move in response to receiving theinput command may include identifying a change in an altitude of thevirtual UAV, a speed of the virtual UAV, a roll state of the virtualUAV, a pitch state of the virtual UAV, a yaw state of the virtual UAV,or any combination thereof.

In some embodiments, estimating the second physical movement that issimilar to the first physical movement may include identifying a firstcomponent of the target UAV that has a similar function as a secondcomponent of the virtual UAV. In some embodiments, generating theoverride command for the target UAV using the second control model andthe second physical movement may include performing a reverse simulationusing the second control model to identify the override command thatwould cause the target UAV to move according to the second physicalmovement.

In some embodiments, the method may further include obtaininginformation regarding current conditions at the target UAV, andconfiguring the first control model and the second control model basedat least in part on the information regarding the current conditions atthe target UAV. In some embodiments, the information regarding thecurrent conditions at the target UAV may include sensor data from thetarget UAV, settings of instruments of the target UAV, weatherconditions near the target UAV, or any combination thereof. In someembodiments, the method may further include synchronizing a display, thecontrol input device, or both to the information regarding the currentconditions at the target UAV.

Further embodiments include a computing device configured withprocessor-executable instructions for performing operations of themethods described above. Further embodiments include a non-transitoryprocessor-readable medium on which is stored processor-executableinstructions configured to cause a computing device to performoperations of the methods described above. Further embodiments include acommunication system including a computing device configured withprocessor-executable instructions to perform operations of the methodsdescribed above.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated herein and constitutepart of this specification, illustrate exemplary embodiments of theclaims, and together with the general description given above and thedetailed description given below, serve to explain the features of theclaims.

FIG. 1 is a component block diagram of a communication system thatincludes an autonomous vehicle override control system suitable for usewith various embodiments.

FIG. 2 is a component block diagram of an exemplary autonomous vehicleoverride control system suitable for use with various embodiments.

FIG. 3 is a component diagram of exemplary modules and data used by anautonomous vehicle override control system according to variousembodiments.

FIG. 4 is a process flow diagram illustrating a method for an autonomousvehicle override control system to transmit override commands to anunmanned aerial UAV of a second UAV type based on input commandsassociated with a first UAV type according to various embodiments.

FIG. 5 is a process flow diagram illustrating a method for an autonomousvehicle override control system to adjust control models based on aremote pilot experience in order to generate override commands for atarget UAV of a second UAV type according to various embodiments.

FIG. 6 is a process flow diagram illustrating a method for an autonomousvehicle override control system to adjust control models based oncurrent conditions of a target UAV of a second UAV type in order togenerate override commands for the target UAV according to variousembodiments.

FIG. 7 is a component block diagram of an aerial unmanned autonomousvehicle (UAV) suitable for use with various embodiments.

DETAILED DESCRIPTION

Various embodiments will be described in detail with reference to theaccompanying drawings. Wherever possible, the same reference numberswill be used throughout the drawings to refer to the same or like parts.References made to particular examples and implementations are forillustrative purposes, and are not intended to limit the scope of theclaims.

The word “exemplary” is used herein to mean “serving as an example,instance, or illustration.” Any implementation described herein as“exemplary” is not necessarily to be construed as preferred oradvantageous over other implementations.

Various embodiments provide an autonomous vehicle override controlsystem for manually controlling aircraft, such as UAVs, that enables apilot certified or qualified on a first type of autonomous vehicle tofly a second type of autonomous (that the pilot may not otherwise becertified/qualified to operate) by translating manual control commands(such as stick and rudder movements in the case of aerial UAVs) enteredby the pilot as appropriate for manually controlling the first type ofUAV into appropriate manual override control commands provided to UAV ofthe second type such that the UAV performs in a manner that is both safeand consistent with the performance expected by the pilot. The controlinterface may also present instrument data of the UAV of the second typein a manner or display consistent with the first type of UAV, and thusin a manner that is familiar to the pilot. Various embodiments thusenable a pilot to take manual control of a UAV of a type that differsfrom the pilot's experience and knowledge.

The term “computing device” is used herein to refer to an electronicdevice equipped with at least a processor. Examples of computing devicesmay include mobile devices (e.g., cellular telephones, wearable devices,smart-phones, web-pads, tablet computers, Internet enabled cellulartelephones, Wi-Fi® enabled electronic devices, personal data assistants(PDA's), laptop computers, etc.), personal computers, and servercomputing devices. In various embodiments, computing devices may beconfigured with memory and/or storage as well as networkingcapabilities, such as network transceiver(s) and antenna(s) configuredto establish a wide area network (WAN) connection (e.g., a cellularnetwork connection, etc.) and/or a local area network (LAN) connection(e.g., a wired/wireless connection to the Internet via a Wi-Fi® router,etc.).

The term “autonomous vehicle override control system” used herein refersto a computing device configured to receive control inputs for variousautonomous vehicles and generate corresponding override commands forother types of autonomous vehicles. Components of an exemplaryautonomous vehicle override control system are illustrated in FIG. 2.

The term “unmanned autonomous vehicle” (or “UAV”) is used herein torefer to various types of autonomous vehicles (e.g., autonomousaircraft) that may not utilize local, human pilots. A UAV may be avehicle that includes a computing device and may be capable of flyingwithout any human interaction (i.e., autonomous) or with some humaninteraction (e.g., remotely providing flight instructions to be executedby a processing unit for takeoff and landings, etc.). For example, UAVsmay include aerial vehicles of various design types capable of executingvertical lift-offs, such as “rotorcraft-type” UAVs configured with anynumber of rotors (e.g., single-rotor drones, multi-rotor drones, such asquadcopter drones having four rotors, etc.). Aerial UAVs may be ofvarious structure or control types, such as a rotorcraft-type or afixed-wing-type. An example of an aerial vehicle UAV is illustrated inFIG. 7; however, the embodiments are not limited to aerial vehicles andmay be implemented in any mobile robotic or autonomous vehicle (e.g.,ground, aquatic, and space vehicles) or other type (manned or unmanned)of vehicle.

The term “UAV type(s)” is used herein for convenience to refer toclasses, categories, models, makes, designs, configurations, standards,and/or any other characteristics that may be used to differentiatevarious unmanned vehicles. While the various embodiments are pertinentto any type of unmanned autonomous vehicle, various embodiments aredescribed with reference to aerial UAVs for ease of reference. However,the use of aerial UAVs as examples is not intended to limit the scope ofthe claims to autonomous aerial vehicles. In particular, UAV types mayinclude “rotorcraft-type” (e.g., a quadcopter design, a helicopterdesign, etc.) and “fixed-wing-type” (e.g., an airplane design, etc.).For example, a first UAV type may refer to a first design (e.g., arotorcraft-type UAV) and a second UAV type may refer to a second design(e.g., a fixed-wing-type UAV). As another example, a first UAV type mayrefer to rotorcraft-type UAV designed or manufactured by a first companyand a second UAV type may refer to rotorcraft-type UAV designed ormanufactured by a second company.

Some conventional systems may exist for assisting in the flight controlof aerial vehicles. For example, some modern fly-by-wire flight controlsystems (e.g., within commercial airliners) may adjust a flight controlsystem based on the current aircraft configuration (e.g., flap settings)and flight conditions (e.g., airspeed, temperature) to provide aconsistent user interface for the pilot while avoiding unsafe attitudes.As another example, some conventional systems may limit the pitch, yaw,and/or roll of an aerial vehicle based on hard restrictions (e.g.,governors or cut-offs) to maintain the aerial vehicle within the safeflying envelope of airspeed, attitude and altitude. However, suchconventional systems do not enable a pilot trained to manually fly onetype of aerial vehicle to take over manual control of a very differenttype of aerial vehicle.

Various embodiments provide methods, devices, systems, andnon-transitory process-readable storage media for an autonomous vehicleoverride control system that enables a human pilot certified on one typeof autonomous vehicle to pilot another type of autonomous vehicle withlittle or no training or certification. As a non-limiting example, theautonomous vehicle override control system may be a ground-basedcomputing device in a flight control station (e.g., a military base, anoperations center, etc.) that translates flight control input commandsassociated with a first aerial UAV type into override commands that maybe used to control a target UAV of a second aerial UAV type.

The autonomous vehicle override control system may utilize the interfaceand controls (e.g., display, instrumentation, control stick, etc.) thatare consistent with an autonomous vehicle of the first UAV type so thata remote pilot may not need to become familiar with the differentrequirements, mechanisms, and instrument layouts of the target UAV ofthe second UAV type. For example, the remote pilot may apply aileron andrudder inputs suitable/typical for a first UAV type (e.g.,rotorcraft-type UAV) for which the remote pilot is certified, and inresponse the autonomous vehicle override control system may translatethe inputs into commands for causing an autonomous target UAV of adifferent type (e.g., fixed-wing-type UAV) to accomplish similaraircraft attitude changes within safe control limits. Thus, theautonomous vehicle override control system may convert one form ofaircraft control data into a second form that is suitable for providingstreams of override instructions to the control system of the targetUAV, allowing a pilot rated on the first UAV type to safely take directmanual control of the target UAV with behaviors consistent with what theremote pilot anticipates based on previous experiences with the firstUAV type.

In various embodiments, the autonomous vehicle override control systemmay utilize a translation database that includes control models for aplurality of UAV types. Each control model may include aircraftprofiles, parameters for control dynamics, specifications, control lawsor rule sets, characteristics, simulation routines or simulation data,measurements, component lists, control schemes, and other stored dataassociated with particular UAV types. Using control models from thetranslation database, the autonomous vehicle override control system mayanalyze input data (or input commands) for the first UAV type toidentify the pilot's intended actions or effects for a UAV of the firstUAV type (referred to herein as physical movements). For example, theautonomous vehicle override control system may evaluate the inputcommands using the control model for the first UAV type to identifyphysical movements of the UAV (e.g., changes to thrust, breaking, flaps,rolls, banking, etc., that the pilot qualified on that type of UAV) toperform based on the pilot's input commands. The determined physicalmovements that the pilot intended for the UAV may be in a formatsuitable for interfacing with another control model for purposes ofdetermining appropriate translated control commands. In someembodiments, the interface format may involve determining physicalmovements of a “virtual UAV” of the first type of UAV by modelingmovements of the UAV in response to the pilot's inputs, although otherstandard data formats may be used. For ease of reference, theintermediate data format is referred to as a virtual UAV.

Using a second control model corresponding to the second UAV type of thetarget UAV, the autonomous vehicle override control system may map theidentified physical movements of the virtual UAV to similar actions ormovements that the target UAV can perform that would be consistent withthe remote pilot's input commands, consistent with the target UAV'scontrol characteristics while remaining in a safe operatingconfiguration (e.g., stable flight in the case of aerial UAV). Theautonomous vehicle override control system may use the second controlmodel to identify override commands associated with the target UAV thatwould result in the mapped physical movements of the target UAV.Suitable manual override commands may be generated for the target UAVusing the second control model that are safe and feasible (i.e., withinthe target UAV's stable control envelope) such that pilot inputs thatwould be unsafe, impossible, or otherwise inappropriate for the targetUAV are not implemented or are translated into safe/achievable inputs.For example, an input command to roll the virtual UAV of the first UAVtype to a 60-degree bank may be inhibited if the target UAV of thesecond UAV type is not equipped to handle that angle, is not stable, orcould be damaged at that angle of banking under the current airspeedconditions. In other words, using the control models, the autonomousvehicle override control system may identify commands that causeappropriate actions or effects for the target UAV that are the same orsimilar to the actions or effects that the remote pilot intended for theUAV based on the pilot's interaction with the first type of UAV.

In some embodiments, based on the control models of the translationdatabase, the autonomous vehicle override control system may convertinputs to outputs having more or less magnitude characteristics. Forexample, the autonomous vehicle override control system may convert asingle input command to change the altitude on a fixed-wing-type UAV toseveral override commands that would control numerous engines on arotorcraft-type UAV to change the altitude to a similar degree. In otherwords, the autonomous vehicle override control system may manipulateinput commands into an appropriate form, number, magnitude, and/orsequence for use by the target UAV. The autonomous vehicle overridecontrol system may also interpret input commands in a linear ornon-linear fashion. For example, a small value for an input command forthe virtual UAV of the first UAV type may result in an override commandwith a large value for the target UAV of the second UAV type. Suchconversions may be context-based, such that certain input commands incombination or sequence with other previous/subsequent input commandsmay result in different override commands. In some cases, autonomousnavigation algorithms may be applicable between different unmannedautonomous systems without much tuning after feeding the data through atranslation/normalization system according to various embodiments. Forexample, techniques according to various embodiments may be used totranslate in between rotorcraft-type and fixed-wing-type autopilotsystems commands.

The following is a non-limiting illustration of an exemplary translationusing the example of an aerial UAV. In a conventional example flightapproach, a fixed-wing-type UAV may be configured to fly from a firstpoint to a second point using a first heading, from the second point toa third point using a second heading, and then may fly using a thirdheading on a final approach into a landing field/strip. As suchapproaches and procedures may not currently exist for rotorcraft-typeUAV, an autonomous vehicle override control system may be used totranslate the fixed-wing-type UAV's flight approach for use by arotorcraft-type UAV (e.g., generate override commands causing arotorcraft-type UAV to fly an approach to the landing field/strip bytranslating fixed-wing-type UAV autonomous navigation commands). Forexample, the rotorcraft-type UAV may receive override commands thatconfigure the rotorcraft-type UAV to use the front of the airframe as areference point and execute a yaw/turning motion to turn therotorcraft-type UAV to the various appropriate headings, and then flyforward. As another example, a rotorcraft-type UAV may receive overridecommands that configure the rotorcraft-type UAV to keep therotorcraft-type UAV pointed toward an arbitrary angle to improveefficiency/performance, and the rotorcraft-type UAV may travel using astrafing motion along a point-to-point course taken from thefixed-wing-type UAV's flight approach plan. Further, the overridecommands may be transmitted to the rotorcraft-type UAV based on datafrom a translation/normalization system from the fixed-wing-type UAVthat indicate turning information while moving forward to the variouspoints that may also be used by the rotorcraft-type UAV, as themechanics of the motions may be similar.

In various embodiments, the autonomous vehicle override control systemmay include or otherwise be coupled to display and/or input elementsassociated with one or more different UAV types or a generic UAV. Forexample, the autonomous vehicle override control system may rendergauges, dials, read-outs for the first UAV type that are more, less,and/or different than instrumentation for the target UAV. As anotherexample, the autonomous vehicle override control system may be connectedto a control stick or gamepad to receive input data associated with thefirst UAV type, regardless of the typical control input methods for thesecond UAV type of the target UAV. In other words, gauges, instruments,controls, and sensor outputs may be presented to the remote pilot in amanner that is consistent with the first UAV type with which the pilotis familiar, and not the displays of the second UAV type of the targetUAV with which the pilot is not familiar.

In some embodiments, the autonomous vehicle override control system mayhave a dynamic display subsystem configured to render digitalrepresentations of instrumentation associated with any active UAV typefor which the remote pilot is certified (e.g., licensed, capable offlying, etc.). For example, in response to the remote pilot selecting an“input” UAV type for which the remote pilot is certified (e.g., pickinga preferred UAV control scheme), the dynamic display may update theposition, size, and types of visual elements rendered on one or moredisplay units coupled to the autonomous vehicle override control systemin order to replicate the look and feel of the currently selected“input” UAV type.

In some embodiments, the autonomous vehicle override control system mayadjust control models or other data used to identify physical movementsof the first and/or target UAVs based on pilot experience with the firstand/or target UAV types. For example, based on pilot profile dataindicating one or more of a time spent controlling a UAV of the secondUAV type and a diversity of maneuvers executed with regard to the UAV ofthe second UAV type, the autonomous vehicle override control system mayconfigure the control models used to perform simulations such that anyinput commands received via an control input device may be filtered tosuit the remote pilot's abilities at that given time. Such experiencedata may be dynamic, as the autonomous vehicle override control systemmay update a remote pilot's profile over time based on interactions withvarious UAV types. In this way, the autonomous vehicle override controlsystem may enable different override commands to become available toeach remote pilot as the pilots become more experienced with target UAVcontrol schemes, thus enabling pilots to potentially perform moresophisticated maneuvers.

In some embodiments, the autonomous vehicle override control system mayadjust control models or other data used to identify physical movementsand/or override commands based on current conditions at the target UAV.For example, the autonomous vehicle override control system may adjustthe possible maneuvers for the target UAV due to weather conditions atthe target UAV or current mechanical states of the various components ofthe target UAV. As another example, based on data received from thetarget UAV indicating one or more of sensor data from the target UAV,settings of instruments of the target UAV, and weather conditions nearthe target UAV, the autonomous vehicle override control system mayadjust control models such that the generated override commands use thefull or partial capabilities of the target UAV at that time and at thecurrent operating location.

In various embodiments, the autonomous vehicle override control systemmay be one or more computing devices configured to execute at least aportion of the methods according to various embodiments describedherein. In some embodiments, the autonomous vehicle override controlsystem may be ground-based, such as one or more units in a control roomsetting. In some embodiments, some or all of the functionalities of theautonomous vehicle override control system may be located in computingdevices positioned on the ground, in an autonomous vehicle, in a mobilefacility, and/or any combination thereof. While various embodimentsdescribed herein refer to control systems for UAVs, the autonomousvehicle override control system of various embodiments may be configuredto provide override commands to manned vehicles. For example, in timesof emergency, the autonomous vehicle override control system may beconfigured to translate input commands for a rotorcraft-type UAV intooverride commands to control a manned aerial vehicle, such as a Cessna172, thereby enabling an experienced aerial UAV pilot to provideemergency piloting controls for a manned aerial vehicle with anincapacitated pilot.

As an illustration of various embodiments, a remote pilot certified tofly a fixed-wing-type UAV (e.g., qualified, licensed, and/or otherwisecapable of flying the fixed-wing-type UAV) may access the autonomousvehicle override control system to assume control over a rotorcraft-type(e.g., multi-rotor UAV) target UAV by logging into the system so thatthe system can select the proper first autonomous vehicle model, such asby providing a username, password, keycard, etc. The autonomous vehicleoverride control system may authenticate the remote pilot and confirmthat the remote pilot is certified (or otherwise qualified) to fly thefixed-wing-type UAV. Knowing the pilot's certifications, the autonomousvehicle override command system may obtain from a database of controlmodels a control model corresponding to the fixed-wing-type UAV that thepilot is qualified to fly. The autonomous vehicle right command systemmay also obtain from the database a control model corresponding to therotorcraft-type target UAV that the pilot intends to control. Theautonomous vehicle override command system may then configure the twocontrol models so that pilot inputs that are provided in a mannerconsistent with the fixed-wing-type UAV are translated intocorresponding and safe control inputs for the target UAV.

With the autonomous vehicle override command system, the remote pilotmay provide input commands suitable for the fixed-wing-type UAV, such asby moving a control stick control input device and/or providing inputdata via other instruments associated with the fixed-wing-type UAV(e.g., levers, buttons, dials, etc.). The autonomous vehicle overridecontrol system may provide feedback to the remote pilot using theinstrumentation and read-outs of the fixed-wing-type UAV. Based on theprovided input data from the remote pilot, the autonomous vehicleoverride control system may identify how a virtual fixed-wing-type UAVwould move in the air in response to the provided inputs from the remotepilot, such as by running a simulation using a control modelcorresponding to the fixed-wing-type UAV type. Having identified themovements of the virtual UAV, the autonomous vehicle override controlsystem may identify similar movements that could be safely accomplishedby a UAV of the same UAV type as the rotorcraft-type target UAV. Forexample, using stored data of the specifications, schematics, and otherflight abilities of both a fixed-wing-type UAV and the rotorcraft-typeUAV, the autonomous vehicle override control system may find mechanicaldifferences/similarities between the two aerial autonomous vehicles, mapcontrol surfaces, and determine physical movements for the target UAV(e.g., roll/yaw/pitch adjustments) to match the behavior of the virtualfixed-wing-type aerial UAV.

Having determined corresponding and safe maneuvers of that target UAV,the autonomous vehicle override control system may identify the controlcommands to the target UAV that will result in operating behaviorssimilar to those intended by the pilot for the virtual UAV. For example,the autonomous vehicle override control system may perform areverse-simulation using physical movements of the target UAV and acorresponding control model. The autonomous vehicle override controlsystem may transmit the identified control commands to the target UAV asoverride commands formatted to take over control of the target UAV fromthe target UAV's autopilot. For example, the override commands may causethe target UAV to perform a banking maneuver, increase speed, changeelevation, and/or begin a landing maneuver.

The methods and systems according to various embodiments may reducecosts and time for UAV pilots. For example, with the autonomous vehicleoverride control system, a remote pilot certified (e.g., qualified,licensed, and/or otherwise capable) to fly only one type of UAV may beimmediately capable of taking control of any of a plurality of UAVs ofdifferent types in a fleet. Further, by adjusting control of the targetUAV to the capability of the remote pilot as opposed to the target UAV,the remote pilot may be more efficient and safe while controlling thetarget UAV. The methods and systems according to various embodiments mayalso improve the functionality of existing control systems by providingoverrides that may be used to correct unwanted or unexpected autonomousoperations. For example, if the control management routines of anautonomous UAV become corrupted, hacked, or otherwise inoperable,override commands transmitted by the autonomous vehicle override controlsystem may enable a remote human pilot to overcome the faulty actions ofthe autonomous UAV until the problem has been resolved.

The methods and systems according to various embodiments may providedynamic control systems that enable remote pilots of differentcertifications, licenses, capabilities, and/or experiences to provideoverride commands for controlling autonomous vehicles of differenttypes. Unlike some conventional systems that utilize common or genericcontrols, the systems according to various embodiments may utilizecontrols, instrumentation, and control input devices native to thevarious control systems with which a remote pilot is most familiar. Forexample, based on whatever certification a remote pilot may have, thesystems according to various embodiments may utilize a rotorcraft-typeUAV input control setup or a fixed-wing-type UAV control setup in orderfor the remote pilot to provide input commands that eventually overridethe operations of an available target UAV of various UAV types. Further,unlike some control systems, the methods and systems according tovarious embodiments may provide a ground-based autonomous vehicleoverride control system that is configured to transmit override commandsto UAVs, such as via radio frequency (RF) transmissions from atransmitter. In other words, the autonomous vehicle override controlsystem outputs override controls that are already appropriatelycalculated and configured for directly controlling the target UAV usinga native communication supported by the target UAV.

Some conventional systems may provide a direct mapping of input data tooutput data for controlling vehicles, such as by using one-to-oneconversions or truncation operations to fit inputs to target parameterranges. The methods and systems according to various embodiments may ormay not utilize direct mapping schemes based on the various controlmodels corresponding to virtual UAVs and target UAVs to be controlled.

Additionally, methods and systems according to various embodiments mayalso utilize control models that account for non-linear conversions ofinput commands. For example, instead of merely interpreting a “flapsdown X percent” input command of a first UAV type as a linearly-adjusted“flaps down Y percent” output command of a target UAV type, the methodsand systems according to various embodiments may evaluate the remotepilot's previous control experiences with the target UAV type and/or thefirst UAV type to identify a likely intended action, as well as currentweather or operating states of the target UAV to identify a suitable butsafe corresponding override command that is sent to the target UAV.

Further, unlike some conventional systems that use autopilot techniquesto normalize or delimit inputs to predefined ranges or envelopes forvarious UAV controls, the methods and systems according to variousembodiments are not simple, corrective operations that overcome remotepilot error. Instead, the methods and systems according to variousembodiments may translate input commands of one UAV type to analogouscommands of another UAV type that may be similar or completelydissimilar to the input commands. In this way, with adept remote pilots,challenging behaviors of target UAVs may be accomplished, as inputcommands for a first UAV type that may be outside of the range forcommands of a second UAV type may be converted via the control models tooverride commands that accomplish the same effect as the input commandswithout exceeding the safe control envelope of the second UAV type.Further, the methods and systems according to various embodiments arenot a standard proportional-integral-derivative (PID) loop orcontroller, but instead allow for dynamically converting input commandsfrom a first UAV type to another type of autonomous vehicle. Variousembodiments described herein reference various forms of UAVs. However,it should be appreciated that embodiment techniques may not be limitedto unmanned autonomous vehicles. For example, embodiment methodsdescribed herein may be applied to any mobile robotic vehicle (e.g.,ground, aquatic, space, etc.) and/or other vehicle types (e.g., mannedor unmanned).

FIG. 1 illustrates a communication system 100 that includes anautonomous vehicle override control system 110 configured to generateand provide override commands to one or more autonomous vehicles, suchas a rotorcraft-type UAV 130 (e.g., a quadcopter) and/or afixed-wing-type UAV 140. For example, the communication system 100 maybe suitable for enabling a remote pilot to provide override commands tocause an autonomous UAV (e.g., the rotorcraft-type UAV 130, etc.) tochange course, land, change speed, deliver a payload, and/or othermidair maneuvers. In some embodiments, such a communication system 100may be used for overriding or supplementing autonomous functionalitiesof autonomous UAVs 130, 140 (e.g., autopilot routines, etc.).

The autonomous vehicle override control system 110 may be a computingdevice including various networking components (e.g., as described withreference to FIG. 2). For example, the autonomous vehicle overridecontrol system 110 may utilize various software instructions, modules,logic, circuitry, and/or routines to standardize telemetry and controldata from remote pilots and multiplex the data into the appropriatecontrol data for a target type of UAV.

The autonomous vehicle override control system 110 may include variousinterfaces, readouts, and communication functionalities for exchangingdata with a plurality of control input devices 102 a-102 c used forreceiving input data (e.g., inputs for changing the elevation, pitch,yaw, roll, speed, etc.). For example, such control input devices 102a-102 c may be connected to the autonomous vehicle override controlsystem 110 via wired or wireless connections 103. The control inputdevices 102 a-102 c may be of varying configurations and/or associatedwith different types of UAVs or UAV control schemes. For example, thefirst control input device 102 a may be a gamepad control input device,the second control input device 102 b may be a steering wheel controlinput device, and the third control input device 102 c may be a stickand rudder peddle flight control input device. The control input devices102 a-102 c shown in FIG. 1 are merely for illustration and thus are notintended to be limiting, as in various embodiments the autonomousvehicle override control system 110 may include any number andcombination of input control devices, displays, and mechanisms that maycorrespond to various types of UAV input controls.

In some embodiments, the autonomous vehicle override control system 110may be coupled to various external and/or internal transmitters,antenna, and/or other components for exchanging wireless signals withdeployed UAVs. For example, the autonomous vehicle override controlsystem 110 may be connected via a wired or wireless connection 111 to anexternal transmitter 120 configured for exchanging messages with UAVs.In some embodiments, the connection 111 may be a direct connectionbetween the autonomous vehicle override control system 110 and thetransmitter 120 or alternatively may be an indirect connection via anetwork 115, such as the Internet or a local area network (LAN). In someembodiments, the transmitter 120 may be included within the autonomousvehicle override control system 110.

The UAVs 130, 140 may be configured with various communicationfunctionalities, such as long-range radio transceivers and antenna(e.g., 704, 706 in FIG. 7). Accordingly, the transmitter 120 mayexchange wireless radio signals 121 with the UAVs 130, 140, such astransmitting override commands to the rotorcraft-type UAV 130 and/or thefixed-wing-type UAV 140, receiving current conditions data (e.g.,current speed; altitude; control status data; location; orientation;weather data, such as temperature, wind velocity, presence ofprecipitation, etc., from on-board sensors, etc.) from therotorcraft-type UAV 130 and/or the fixed-wing-type UAV 140. In someembodiments, the transmitter 120 and/or the UAVs 130, 140 may exchangemessaging via satellite signals (not shown).

In some embodiments, the autonomous vehicle override control system 110may be configured to exchange data with various remote data sources,such as a remote server 150 connected to the network 115 via a wired orwireless connection 151. In some embodiments, the remote server 150 mayinclude a database of control models, profile data of remote pilotsand/or particular UAVs, and/or other information required for generatingand transmitting override commands to the UAVs 130, 140. For example,the autonomous vehicle override control system 110 may receive from theremote server 150 current weather data, remote pilot profile data, UAVcontrol schemes or control laws for the rotorcraft-type UAV 130 or thefixed-wing-type UAV 140, and/or other data for use with variousembodiments described herein. In some embodiments, the autonomousvehicle override control system 110 may transmit override commands tothe remote server 150 for delivery via the transmitter 120 to the UAVs130, 140.

FIG. 2 illustrates an exemplary autonomous vehicle override controlsystem 110 according to various embodiments. With reference to FIGS.1-2, an exemplary autonomous vehicle override control system 110 mayinclude a processor 201 configured with processor-executableinstructions to perform operations of various embodiments. In someembodiments, the processor 201 may be or include one or more multicoreintegrated circuits designated for general or specific processing tasks.The processor 201 may be coupled to various other modules orfunctionalities via a wired or wireless connectivity, such as via a bus220 or other circuitry. In particular, the processor 201 may beconnected to an internal memory 202 (and/or other storage), a powersource 204 (e.g., a battery, a rechargeable lithium battery, a powerplug capable of interfacing with a conventional power outlet, etc.),user input unit(s) 206 (e.g., a keyboard/keypad, a control stick, rudderpedals, a touchpad, a peripheral device connection interface configuredto accept one or more types of connection, such as USB, etc.), andoutput unit(s) 207 (e.g., an LED screen, bulb(s), touch screen, aspeaker, etc.). For example, the user input unit(s) may include thecontrol input devices 102 a-102 c.

The internal memory 202 may be volatile or non-volatile memory, and mayalso be secure and/or encrypted memory, or unsecure and/or unencryptedmemory, or any combination thereof. In some embodiments, the memory 202(or other storage) may store various control databases 203, for example,such as relational databases storing a plurality of data records andrule set files related to pilots and aerial vehicles. For example, suchdata records may include profile data of various remote pilots, controlmodels for various types of UAVs, contact information for variousdeployed UAVs, and other data related to override commands for UAVs. Insome embodiments, such databases 203 may be stored remotely, such as ona remote server accessible to the autonomous vehicle override controlsystem 110 via the Internet or other network.

In some embodiments, the autonomous vehicle override control system 110may include various networking interfaces 208 (and associated logic)connected to the processor 201. For example, the autonomous vehicleoverride control system 110 may include one or more radio transceiversand antenna (not shown) for exchanging signals with remote devices(e.g., remote servers, UAVs, external transmitters, etc.) via varioustransmission protocols, standards, mediums, and configurations (e.g.,Wi-Fi®, etc.). In some embodiments, the autonomous vehicle overridecontrol system 110 may utilize one or more wired or wireless connections210 to other devices or networks for enabling communications, such as anEthernet connection to an Internet access point.

FIG. 3 illustrates exemplary modules 302-310 and data 320-326 that maybe used by an autonomous vehicle override control system (e.g., 110 inFIGS. 1-2) according to various embodiments. With reference to FIGS.1-3, the various modules 302-310 may be instructions, routines,operations, circuitry, logic, software, and other functionalities thatmay be implemented by a processor of the autonomous vehicle overridecontrol system, such as the processor 201 of the autonomous vehicleoverride control system 110. For example, the modules 302-310 may besoftware routines performed via the processor 201. Further, the data320-326 may be any inputs, parameters, register data, and/or otherinformation that may be provided to and/or generated by the modules302-310.

The autonomous vehicle override control system may include an inputmodule 302 configured to receive and process input data from one or morecontrol input devices (e.g., control input devices 102 a-102 c, 206).For example, the input module 302 may receive signals from agamepad-type controller (e.g., the first control input device 102 a)corresponding to a remote pilot's input for controlling arotorcraft-type UAV (e.g., 130). As an example, the input module 302 mayreceive signals from a steering wheel controller (e.g., the secondflight control input device 102 b) corresponding to a remote pilot'sinput for controlling a fixed-wing-type UAV. In some embodiments, theinput module 302 may be configured to apply control rules (or controllaws) for a first UAV type (e.g., Type A) to received inputs from thecontrol input devices in order to identify corresponding input commandsappropriate for controlling a UAV of the first UAV type. In other words,the input module 302 may convert received input signals from controlinput devices into input command data suitable for controlling a UAV ofthe first UAV type.

The input commands may be passed as input command data 320 (or “InputCommand Data (UAV Type A)” in FIG. 3) from the input module 302 to acontrol module 304 (or “Flight Control Module (UAV Type A)” in FIG. 3).The control module 304 may be configured to process (e.g., via theprocessor 201) the input command data 320, such as by simulating thebehavior of a “Type A” UAV configured to perform the input commandsreceived from the input module 302. The control module 304 may outputphysical movement data of the first UAV type 322 (or “Physical MovementData (UAV Type A)” in FIG. 3). Using the example on an aerial UAV, thephysical movement data of the first UAV type 322 may be data thatindicates how the first UAV would change in altitude, yaw, roll, pitch,etc. based on the remote pilot's inputs via the flight control inputdevices connected to the autonomous vehicle override control system.Such physical movement data of the first UAV type 322 may also includedata describing settings, states, and/or actions of actuators, motors,and/or other devices of the first UAV type (e.g., rotor motor activitylevels, power draw, heat output, etc.).

The physical movement data of the first UAV type 322 may be provided toa physical movement translation module 306 that may be configured toprocess (e.g., via the processor 201) the physical movement data of thefirst UAV type 322 to generate physical movement data of a second UAVtype 324 (or “Physical Movement Data (UAV Type B)” in FIG. 3). Forexample, the physical movement translation module 306 may convert anupward movement of a UAV of a first UAV type to a similar upwardmovement of a UAV of a second UAV type. In other words, the physicalmovement translation module 306 may convert the expected or simulatedbehavior of a first UAV (i.e., a virtual UAV of the first UAV type) intosimilar behaviors of a second UAV (i.e., a target UAV of the second UAVtype).

The physical movement data of the second UAV type 324 may be provided toa reverse control module 308 (or “Reverse Flight Control Module (UAVType B)” in FIG. 3). The reverse control module 308 may be configured toprocess (e.g., via the processor 201) the physical movement data of thesecond UAV type 324 in order to identify the control command(s) thatshould be transmitted to the target UAV of the second UAV type in orderto produce the behavior indicated by the physical movement data of thesecond UAV type 324. In other words, the reverse control module 308 maywork in the reverse direction of the control module 304 of the first UAVtype, generating simulated control commands for the target UAV of thesecond UAV type based on an end behavior that is similar to the behaviorcalculated for the virtual UAV of the first UAV type, whereas thecontrol module 304 of the first UAV type generates behavior data for thevirtual UAV of the first UAV type based on input commands of the firstUAV type. The reverse control module 308 may provide override commanddata of the second UAV type 326 (or “Override Command Data (UAV Type B)”in FIG. 3) to an output module 310 configured to transmit the overridecommand data of the second UAV type 326 to the target UAV of the secondUAV type. For example, the output module 310 may utilize a long-rangetransmitter (e.g., 120) to transmit the override commands to a UAV ofthe second UAV type in order to cause the UAV to operate according to aremote pilot's inputs.

FIG. 4 illustrates a method 400 for an autonomous vehicle overridecontrol system to transmit override commands to a target UAV of a secondUAV type based on input commands associated with a first UAV typeaccording to various embodiments. With reference to FIGS. 1-4, themethod 400 may be performed by a processor of a computing device, suchas the processor 201 of the autonomous vehicle override control system110.

The processor of the autonomous vehicle override control system mayreceive login credentials from a remote pilot, in block 402. Forexample, the remote pilot may provide a username, gamepad controlleraccess code or password, and/or other identifying or authenticatinginformation via a keyboard, fingerprint reader, retina scanner, and/orother control input device connected to the autonomous vehicle overridecontrol system.

In block 404, the processor of the autonomous vehicle override controlsystem may identify a certification of the remote pilot for a first UAVtype based on the remote pilot's login credentials. For example, theautonomous vehicle override control system may perform look-upoperations in a database of pilot profiles (e.g., local database coupledto the autonomous vehicle override control systems, remote database atthe remote server 150, etc.) to identify a data record corresponding tothe remote pilot login credentials that includes profile data indicatingthe remote pilot has one or more certifications, licenses, and/orcapabilities for one or more autonomous vehicle types including thefirst UAV type. In some embodiments, the look-up operations may includethe autonomous vehicle override control system transmitting a request todownload data records from or otherwise perform the look-up at remotedata sources (e.g., a remote data server 150 over the Internet or alocal area network). In some embodiments, when the remote pilot has morethan one certification (or license or capability), the autonomousvehicle override control system may perform operations to select aparticular certification. For example, the selected certification fromthe plurality of certifications of the remote pilot may be based onpreference data from the remote pilot's profile, a selection by theremote pilot, and/or based on the available control input devicescurrently connected to the autonomous vehicle override control system.

In block 406, the processor of the autonomous vehicle override controlsystem may receive an input indicating a target UAV to be piloted by theremote pilot. For example, the autonomous vehicle override controlsystem may receive a keyboard input of a target UAV identifier or aselection from a user interface (e.g., a drop-down list, etc.) thatindicates the target UAV.

In block 407, the processor of the autonomous vehicle override controlsystem may retrieve profile data for the target UAV. For example, theautonomous vehicle override control system may perform a look-upoperation to retrieve profile data of the target UAV from a database ofa plurality of UAVs, wherein the profile data may include information ofthe various specifications of the target UAV (e.g., UAV type or class,operating status, included equipment, etc.). In some embodiments, theprofile data may be retrieved from a remote source (e.g., the server150) and/or from a local data source (e.g., a database coupled to theautonomous vehicle override control system). In some embodiments, theprofile data of the target UAV may also include connection informationthat may be used to transmit messages to the target UAV. For example,the connection information may be data within the profile of the targetUAV that includes one or more of an access code, a communicationchannel, a transmission frequency, a transmission medium, identifiers ofintermediary receiver devices required to contact the target UAV, and/ora message format. In block 408, the processor of the autonomous vehicleoverride control system may identify a second UAV type for the targetUAV, such as by performing a look-up with the retrieved profile data.

In block 410, the processor of the autonomous vehicle override controlsystem may obtain from memory (either local or remote) a first controlmodel for the first UAV type and a second control model for the secondUAV type. As described, the control models may be data sets stored inprofiles associated with different UAV types and may include at leastlogic, routines, control rules, and/or applications configured todetermine behaviors of UAVs based on provided input data (e.g., inputcommands associated with a particular UAV type). In other words, thecontrol models may define information, control rules, and autonomousvehicle performance parameters that enable the autonomous vehicleoverride control system to calculate how a particular UAV type willmaneuver and otherwise respond to input commands. As described, thecontrol models may also be used in a reverse manner. For example, thecontrol models may not only be used to identify a behavior of a UAVbased on input commands, but may also be used to identify overridecommands based on the behavior of the UAV.

In some embodiments, the control models may include other data needed todetermine how UAVs will maneuver and otherwise respond in response toinput commands and/or what override commands may be used to evokecertain UAV behaviors. For example, the control models may include dataindicating the various actuators, motors, and other physical elementsthat are controlled to accomplish various aerial maneuvers. As anotherexample, the control models may include information about how the targetUAV will respond to various weather or atmospheric conditions. In someembodiments, the autonomous vehicle override control system may retrievethe control models from a database of all supported control models. Forexample, the autonomous vehicle override control system may download orretrieve from memory the first and second control models by performing alook-up using the first and second UAV types identified based on theoperations described with reference to blocks 404 and 408. In someembodiments, the control models may be implemented as the controlmodules 304, 308 (e.g., described with reference to FIG. 3).

In optional block 411, the processor of the autonomous vehicle overridecontrol system may receive weather reports or observations from anappropriate source, such as a weather bureau or a commercial weatherforecasting center. Weather observations may be data regarding theweather conditions around or near the target UAV. In some embodiments,the weather reports or observations may be provided by the target UAV,such as in the form of temperature readings, images of clouds, and inairspeed, heading and location coordinates that the processor can use tocalculate wind conditions around or otherwise near the target UAV.

In block 412, the processor of the autonomous vehicle override controlsystem may receive an input command from a control input devicecorresponding to the first UAV type. For example, the autonomous vehicleoverride control system may receive signals from a control stickcontroller indicating the remote pilot has moved the control stick acertain number of degrees to one side. The autonomous vehicle overridecontrol system may interpret the signals from the control input deviceto correspond with one or more control commands as well as associatedparameters. For example, the autonomous vehicle override control systemmay determine a control stick command corresponds to a command foradjusting yaw, pitch, roll, throttle, etc. of a UAV by a certain numberof degrees in one direction. In some embodiments, the input command maybe identified based on signals received from more than one control inputdevices connected to the autonomous vehicle override control system. Forexample, the autonomous vehicle override control system may receiveinput signals from one or more control input devices, such as thecontrol input devices 102 a-102 c as described. In some embodiments, theautonomous vehicle override control system may receive and process theinput using an input module 302 as described.

In block 414, the processor of the autonomous vehicle override controlsystem may calculate first set of physical movement(s) of a virtual UAVof the first UAV type that would result from the received input commandusing the first control model. In some embodiments, using the firstcontrol model associated with the first UAV type, the autonomous vehicleoverride control system may perform a simulation to identify how a UAVof the first UAV type would respond given the input command. Forexample, the autonomous vehicle override control system may execute aprogram that references the specifications and control rules of a UAV ofa first UAV type, as well as other factors, such as current weatherconditions, and outputs data indicating how the UAV would move inresponse to the input command.

The first physical movements may be data that indicates changes to theposition of the virtual UAV (e.g., altitude), to the orientation (e.g.,pitch, yaw, roll, etc.), to the speed or throttle, and/or operatingstates or settings, such settings of an engine, a flap, an actuator, arotor, and/or ballast. For example, the first physical movements mayindicate whether the virtual UAV would be in a state of takeoff,landing, and/or activating/using on-board functionalities (e.g.,sensors, clamps, doors, weapon systems, etc.). As another example, theautonomous vehicle override control system may identify a change in oneor more of an altitude of the virtual UAV, a speed of the virtual UAV, aroll state, a pitch state, and a yaw state that is expected of the UAVgiven the control inputs in the current control and weather conditions.

In some embodiments, the first physical movements may include dataregarding physical elements of the virtual UAV that would respond to theinput command. For example, the first physical movements may includedata indicating a certain actuator, engine, and/or other mechanicalelement of the virtual UAV would be moved, extended, rotated, activated,and/or otherwise adjusted a particular amount (e.g., rotated a certainnumber of degrees, turned ‘on’/‘off’, pressurized a certain amount,extended a certain amount, etc.).

In block 416, the processor of the autonomous vehicle override controlsystem may estimate a second set of physical movement(s) of the targetUAV of the second UAV type that are similar in function to theidentified first set of physical movements of the virtual UAV of thefirst UAV type. The autonomous vehicle override control system maycompare the specifications of UAVs of the first and second UAV types toidentify elements or components of the two UAV types that may havesimilar functions and thus may produce the same or similar movements inthe two autonomous vehicle types. For example, the autonomous vehicleoverride control system may determine that a change in the orientationof a first set of flaps for the first UAV type is similar to a change inorientation of a second set of flaps for the second UAV type. In someembodiments, the autonomous vehicle override control system may identifythe second set of physical movements using safety threshold or envelopesfor the second type of UAV. For example, when the first set of physicalmovements indicate the virtual UAV has increased acceleration by acertain amount that is known to be unsafe for UAVs of the second UAVtype, the autonomous vehicle override control system may identify anincrease in acceleration that is similar to the first acceleration butstill within the safety envelope for the second UAV type.

In some embodiments, the autonomous vehicle override control system mayperform the operations of block 416 utilizing a physical movementtranslation module 306 (e.g., as described with reference to FIG. 3). Insome embodiments, the autonomous vehicle override control system mayidentify the second set of physical movements as vastly differentoperations or maneuvers than the virtual UAV performed but that mayaccomplish a similar end result. For example, when the virtual UAV is afixed-wing-type UAV, the autonomous vehicle override control system mayidentify a smooth landing approach based on the received input commandsas corresponding to a vertical landing for a rotorcraft-type target UAV.

In block 418, the processor of the autonomous vehicle override controlsystem may generate an override command for the target UAV of the secondUAV type based on the second control model and the second set ofphysical movements. For example, the autonomous vehicle override controlsystem may apply the data of the second set of physical movements to acontrol model that is configured to operate in a reverse manner than thefirst control model in block 414. For example, the autonomous vehicleoverride control system may perform a reverse simulation using thesecond control model to determine corresponding control commands. Theoverride command may be similar to the input command in that theoverride command may indicate an action as well as various parametersfor the target UAV to execute.

In some embodiments, the override command may be in a second format orlanguage than the input command, such as a message or command formatbased on the specifications of the operating system executing on thetarget UAV. In some embodiments, the autonomous vehicle override controlsystem may provide the second set of physical movement data as a call toa function to generate the override command.

In some embodiments, the autonomous vehicle override control system mayperform the operations of block 418 utilizing a reverse control module308 as described.

In block 420, the processor of the autonomous vehicle override controlsystem may transmit the generated override command to the target UAVusing a current wired or wireless communication link (e.g., a directradio or cellular data network communication link) with the target UAV.For example, the autonomous vehicle override control system may transmita message to a transmitter or directly to the target UAV that includesthe one or more override commands generated based on the reverse controlmodel. The autonomous vehicle override control system may transmit theoverride command using transmission characteristics that may be includedwithin a retrieved profile of the target UAV, such as the particularfrequency and any included authentication data or access codes thatshould be used in order to effectively communicate with the target UAV.In some embodiments, the autonomous vehicle override control system mayperform the operations of block 420 utilizing an output module 310 asdescribed.

The operations of blocks 412 through 420 of the method 400 may beperformed in a continuous loop by the autonomous vehicle overridecontrol system as the pilot provides further control inputs.

FIG. 5 illustrates a method 500 for an autonomous vehicle overridecontrol system to adjust control models based on a remote pilotexperience in order to generate override commands for a target UAV of asecond UAV type according to various embodiments. With reference toFIGS. 1-5, the method 500 may be similar to the method 400, except thatthe method 500 may include operations for adjusting, tweaking, and/orotherwise configuring the various control models associated with thefirst and second UAV types based on previous experiences of the remotepilot with the autonomous vehicle override control system. For example,based on stored data indicating how fast the remote pilot has previouslyprovided input commands for a certain first UAV type and/or for acertain target UAV type, the autonomous vehicle override control systemmay interpret subsequent input commands differently (e.g., assign agreater change in the operations of the target UAV). The operations ofblocks 402-420 may be similar to the operations of like numbered blocksof the method 400 as described.

In block 502, the processor of the autonomous vehicle override controlsystem may retrieve remote a pilot experience profile (e.g., from theserver 150) based on the remote pilot's login credentials. For example,when authenticating the remote pilot based on an entered password oridentifier, the autonomous vehicle override control system may retrievea data record associated with the remote pilot's identifier and thatincludes historical data corresponding to the remote pilot's previoususes of the autonomous vehicle override control system (or similarautonomous vehicle override control system units). The experienceprofile may include performance data of the remote pilot, success ratesrelated to particular UAV types or maneuvers, total time logged in withregard to the target UAV and/or the first UAV type, biometrics data forthe remote pilot over time (e.g., psychological information, bloodpressure, perspiration data, etc.), and other data that may be used bythe autonomous vehicle override control system to determine howproficient the remote pilot is with regard to the various UAVs supportedby the autonomous vehicle override control system routines. In someembodiments, the pilot experience profile may be retrieved by theautonomous vehicle override control system from a local data source(e.g., a local database, storage device connected to the autonomousvehicle override control system, etc.) and/or from a remote data source(e.g., a cloud server, remote database, the server 150, etc.).

In block 504, the processor of the autonomous vehicle override controlsystem may configure the first and second control models based on thepilot's experience profile. For example, the autonomous vehicle overridecontrol system may adjust the sensitivities, thresholds, and/oravailable maneuvers for the virtual UAV based on the remote pilot'spreviously provided inputs to the autonomous vehicle override controlsystem. In some embodiments, the autonomous vehicle override controlsystem may evaluate the experience data in order to determine aprobability the remote pilot is actually attempting or capable ofattempting more complex, dangerous, and/or otherwise more sophisticatedmaneuvers with the virtual UAV.

For example, based on the number of logged control time with the virtualUAV, the autonomous vehicle override control system may determine thatinput signals from a control stick may not correspond to a verysophisticated barrel roll or other maneuver as the remote pilot only hasa minimum amount of hours of control time. In such cases, the autonomousvehicle override control system may be configured to re-interpret theinput commands to include inputs more appropriate for a pilot having theexperience of the remote pilot. For example, instead of a barrel roll,the autonomous vehicle override control system may interpret a controlstick input as a small change in the roll (e.g., 45-degree bank) of thevirtual UAV. As another example, when the remote pilot is determined tobe very experienced with the virtual UAV type, the autonomous vehicleoverride control system may open up all potential midair maneuvers tothe remote pilot, allowing input commands to cause more extreme actionsin the virtual (and potentially) the target UAVs.

The following is a non-limiting illustration of such configurationoperations. A pilot certified to fly a Beechcraft® Bonanza BE35-modelfixed-wing aerial vehicle (e.g., qualified, licensed, and/or otherwisecapable) may indicate such to an autonomous vehicle override controlsystem, such as via a login procedure. The autonomous vehicle overridecontrol system may retrieve a first control model for the BE35-model anda second control model of a target UAV having similar operatingcharacteristics (e.g., BE33-model, BE36-model, etc.). Although the twoautonomous vehicles may be similar, there may be slight differences inthe control parameters of each, and therefore the autonomous vehicleoverride control system may configure the control models to account forthe pilot providing inputs for the first control model that differslightly from what is optimal for the second control model. However, theautonomous vehicle override control system may record and analyze thepilot's gradual improvement with flying experience. For example, thepilot's inputs provided to the autonomous vehicle override controlsystem may become closer and closer to the native controls for thetarget UAV as the pilot becomes more acquainted with the target UAV overtime. Such pilot improvements may result in the amount of translationsof pilots inputs to control commands become less significant over timeso that, eventually, the autonomous vehicle override control system maygenerate override command sets that are minimally-translated from thefirst control model to the second control model just as if the pilot hadbeen trained to pilot the target UAV.

In response to performing the transmission operations of block 420, theprocessor of the autonomous vehicle override control system may updatethe experience profile based on the received input command, in block506. For example, the autonomous vehicle override control system mayupdate the experience data with information indicating the remote pilotprovided the input commands for the virtual UAV, the complexity of theinput commands, and/or the amount of time in between receiving inputcommands.

The updates to the experience profile may indicate the remote pilot'simprovement in piloting the target UAV (or lack thereof) based on theremote pilot's inputs. For example, in response to receiving inputcommands that the target UAV is not capable of performing and/or thatthe remote pilot is currently unqualified to provide to the target UAV(e.g., the remote pilot made a poor or catastrophic control decision),the autonomous vehicle override control system may degrade the remotepilot's profile by lowering a score or experience rating or otherwisechanging the profile to indicate no positive experience has been gainedby the remote pilot. As another example, in response to receiving“correct” or conservative input commands for the target UAV (e.g.,successfully completing a maneuver, etc.), the autonomous vehicleoverride control system may adjust the remote pilot's experience profileby increasing a score or experience rating, thereby potentiallyhastening a training process. In some embodiments, the autonomousvehicle override control system may degrade the profile based on anamount of time the remote pilot is not using the system.

In this way, the autonomous vehicle override control system maycontinually evaluate the remote pilot's experiences and provide datathat may intelligently improve the physical movements that may begenerated in response to the user's inputs over time.

The operations of blocks 504 through 506 of the method 500 may beperformed in a continuous loop by the autonomous vehicle overridecontrol system as the pilot provides further control inputs and thepilot's experience changes.

FIG. 6 illustrates a method 600 for an autonomous vehicle overridecontrol system to adjust control models based on data of currentconditions at a target UAV of a second UAV type in order to generateoverride commands for the target UAV according to various embodiments.With reference to FIGS. 1-6, the method 600 may be similar to the method400 except that the method 600 may include operations for adjusting,tweaking, and/or otherwise configuring the various control modelsassociated with the first and second UAV types based on currentconditions of the target UAV. For example, based on sensor data (e.g.,current speed; altitude; control status data; location; orientation; andweather data, such as temperature, wind velocity, presence ofprecipitation, etc., from on-board sensors) provided by the instrumentswithin the target UAV and/or data received from other devices near thetarget UAV, the autonomous vehicle override control system may changesimulation parameters and/or feedback to the remote pilot in order toproduce more accurate simulations of UAV performance. The operations ofblocks 402-420 may be similar to the operations of like numbered blocksof the method 400 as described.

In block 602, the processor of the autonomous vehicle override controlsystem may obtain data of the current conditions of the target UAV, suchas sensor data from the target UAV. For example, the autonomous vehicleoverride control system, directly or indirectly, may receive messagesvia one or more networking interfaces that indicate the currentinstrument settings or readings of the instruments of the target UAV. Asanother example, based on incoming RF signals from the target UAV, theautonomous vehicle override control system may receive data indicatingthat the target UAV is currently encountering heavy winds, rain,lighting, air pressure, and/or other weather or atmospheric conditions.

In block 604, the processor of the autonomous vehicle override controlsystem may configure the first and second control models based on theobtained data of the current conditions of the target UAV (e.g., sensordata). For example, to adjust the simulation used to determine how thevirtual UAV would move in response to the user's input command(s), theautonomous vehicle override control system may change simulationparameters that affect the wind resistance and/or the movement tolerancethat the virtual UAV may withstand given these conditions.

In optional block 606, the processor of the autonomous vehicle overridecontrol system may synchronize displays (e.g., read-outs, renderings,instrument settings, etc.) and/or controls (e.g., control stick feedbacksettings, etc.) coupled to or otherwise used with the autonomous vehicleoverride control system based on the current conditions of the targetUAV. For example, if the target UAV is an aerial vehicle that is alreadyin mid-flight and banking, the autonomous vehicle override controlsystem may perform synching operations to render the virtual UAV on ascreen such that the virtual UAV is depicted as already in the air andbanking. As another example, when the target UAV is experiencingturbulence or weather conditions that affect the handling of the targetUAV, the autonomous vehicle override control system may configured thecontrols accessible to the remote pilot such that handling is similarlyaffected for the virtual UAV.

The operations of blocks 602-606, 412-420 of the method 600 may beperformed in a continuous loop by the autonomous vehicle overridecontrol system as the remote pilot provides further control inputs.

FIG. 7 illustrates an exemplary rotorcraft-type UAV 130, such as aquadcopter-type UAV, that is suitable for use with various embodimentsdescribed with reference to FIGS. 1-6. With reference to FIGS. 1-7, therotorcraft-type UAV 130 may include a body 700 (i.e., fuselage, frame,etc.) that may be made out of any combination of plastic, metal, orother materials suitable for flight. The body 700 may include aprocessor 730 that is configured to monitor and control the variousfunctionalities, subsystems, and/or other components of therotorcraft-type UAV 130. For example, the processor 730 may beconfigured to monitor and control various functionalities of therotorcraft-type UAV 130, such as any combination of modules, software,instructions, circuitry, hardware, etc. related to propulsion,navigation, power management, sensor management, and/or stabilitymanagement.

The processor 730 may include one or more processing unit(s) 701, suchas one or more processors configured to execute processor-executableinstructions (e.g., applications, routines, scripts, instruction sets,etc.), a memory and/or storage unit 702 configured to store data (e.g.,control plans, obtained sensor data, received messages, applications,etc.), and one or more wireless transceiver(s) 704 and antenna(s) 706for transmitting and receiving wireless signals (e.g., a Wi-Fi® radioand antenna, Bluetooth®, RF, etc.). The rotorcraft-type UAV 130 may alsoinclude components for communicating via various wide area networks,such as cellular network transceivers or chips and associated antenna(not shown). The processor 730 of the rotorcraft-type UAV 130 mayfurther include various input units 708 for receiving data from humanoperators and/or for collecting data indicating various conditionsrelevant to the rotorcraft-type UAV 130. Using the example of an aerialUAV, the input units 708 may include camera(s), microphone(s), locationinformation functionalities (e.g., a global positioning system (GPS)receiver/antenna for receiving GPS signals), flight instruments (e.g.,attitude indicator(s), gyroscope(s), accelerometer(s), altimeter(s),compass(es), etc.), keypad(s), etc. The various components of theprocessor 730 may be connected via a bus 710 or other similar circuitry.

The body 700 may include landing gear 720 of various designs andpurposes, such as legs, skis, wheels, pontoons, etc. The body 700 mayinclude a power source 712 that may be coupled to and configured topower the various other components of the rotorcraft-type UAV 130. Forexample, the power source 712 may be a rechargeable battery forproviding power to operate the motors 722 and/or the units of theprocessor 730.

The rotorcraft-type UAV 130 may be of a rotorcraft design that utilizesone or more rotors 724 driven by corresponding motors 722 to providelift-off (or takeoff) as well as other aerial movements (e.g., forwardprogression, ascension, descending, lateral movements, tilting,rotating, etc.). The rotorcraft-type UAV 130 may utilize various motors722 and corresponding rotors 724 for lifting off and providing aerialpropulsion. For example, the rotorcraft-type UAV 130 may be a“quadcopter” that is equipped with four motors 722 and correspondingrotors 724. The motors 722 may be coupled to the processor 730 and thusmay be configured to receive operating instructions or signals from theprocessor 730. For example, the motors 722 may be configured to increaserotation speed of their corresponding rotors 724, etc. based oninstructions received from the processor 730. The motors 722 may beindependently controlled by the processor 730 such that some rotors 724may be engaged at different speeds, using different amounts of power,and/or providing different levels of output for moving therotorcraft-type UAV 130. For example, motors 722 on one side of the body700 may be configured to cause their corresponding rotors 724 to spin ata higher rate of rotations (e.g., RPM) than rotors 724 on the oppositeside of the body 700 in order to balance the rotorcraft-type UAV 130.

The various processors described herein may be any programmablemicroprocessor, microcomputer or multiple processor chip or chips thatcan be configured by software instructions (applications) to perform avariety of functions, including the functions of various embodimentsdescribed herein. In the various devices, multiple processors may beprovided, such as one processor dedicated to wireless communicationfunctions and one processor dedicated to running other applications.Typically, software applications may be stored in internal memory beforethey are accessed and loaded into the processors. The processors mayinclude internal memory sufficient to store the application softwareinstructions. In many devices the internal memory may be a volatile ornonvolatile memory, such as flash memory, or a mixture of both. For thepurposes of this description, a general reference to memory refers tomemory accessible by the processors including internal memory orremovable memory plugged into the various devices and memory within theprocessors.

The foregoing method descriptions and the process flow diagrams areprovided merely as illustrative examples and are not intended to requireor imply that the operations of various embodiments must be performed inthe order presented. As will be appreciated by one of skill in the artthe order of operations in the foregoing embodiments may be performed inany order. Words such as “thereafter,” “then,” “next,” etc. are notintended to limit the order of the operations; these words are simplyused to guide the reader through the description of the methods.Further, any reference to claim elements in the singular, for example,using the articles “a,” “an,” or “the” is not to be construed aslimiting the element to the singular.

The various illustrative logical blocks, modules, circuits, andalgorithm operations described in connection with the embodimentsdisclosed herein may be implemented as electronic hardware, computersoftware, or combinations of both. To clearly illustrate thisinterchangeability of hardware and software, various illustrativecomponents, blocks, modules, circuits, and operations have beendescribed generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the claims.

The hardware used to implement the various illustrative logics, logicalblocks, modules, and circuits described in connection with theembodiments disclosed herein may be implemented or performed with ageneral purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic device, discrete gate ortransistor logic, discrete hardware components, or any combinationthereof designed to perform the functions described herein. Ageneral-purpose processor may be a microprocessor, but, in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration. Alternatively, some operations or methods may beperformed by circuitry that is specific to a given function.

In one or more exemplary embodiments, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on a non-transitoryprocessor-readable, computer-readable, or server-readable medium or anon-transitory processor-readable storage medium. The operations of amethod or algorithm disclosed herein may be embodied in aprocessor-executable software module or processor-executable softwareinstructions, which may reside on a non-transitory computer-readablestorage medium, a non-transitory server-readable storage medium, and/ora non-transitory processor-readable storage medium. In variousembodiments, such instructions may be stored processor-executableinstructions or stored processor-executable software instructions.Tangible, non-transitory computer-readable storage media may be anyavailable media that may be accessed by a computer. By way of example,and not limitation, such non-transitory computer-readable media maycomprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage,magnetic disk storage or other magnetic storage devices, or any othermedium that may be used to store desired program code in the form ofinstructions or data structures and that may be accessed by a computer.Disk and disc, as used herein, includes compact disc (CD), laser disc,optical disc, digital versatile disc (DVD), floppy disk, and Blu-rayDisc® where disks usually reproduce data magnetically, while discsreproduce data optically with lasers. Combinations of the above shouldalso be included within the scope of non-transitory computer-readablemedia. Additionally, the operations of a method or algorithm may resideas one or any combination or set of codes and/or instructions on atangible, non-transitory processor-readable storage medium and/orcomputer-readable medium, which may be incorporated into a computerprogram product.

The preceding description of the disclosed embodiments is provided toenable any person skilled in the art to make or use the claims. Variousmodifications to these embodiments will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other embodiments without departing from the scope of theclaims. Thus, the present invention is not intended to be limited to theembodiments shown herein but is to be accorded the widest scopeconsistent with the following claims and the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method for an autonomous vehicle overridecontrol system to provide override commands to a target unmannedautonomous vehicle (UAV), comprising: identifying, via a processor ofthe autonomous vehicle override control system, a certification for aremote pilot for a first UAV type based on login credentials from theremote pilot; obtaining, via the processor, a first control model forthe first UAV type based on the certification; obtaining, via theprocessor, a second control model for the target UAV of a second UAVtype; receiving, via the processor, an input command from a controlinput device corresponding to the first UAV type; calculating, via theprocessor, a first physical movement of a virtual UAV of the first UAVtype using the first control model and the input command; estimating,via the processor, a second physical movement of the target UAV that issimilar to the first physical movement; and generating, via theprocessor, an override command for the target UAV using the secondcontrol model and the second physical movement.
 2. The method of claim1, further comprising transmitting, via the processor, the overridecommand to the target UAV.
 3. The method of claim 2, further comprising:obtaining, via the processor, connection information for communicatingwith the target UAV, wherein the connection information is one or moreof an access code, a transmission frequency, a transmission medium, anidentifier of an intermediary receiver device, and a message format, andwherein transmitting the override command to the target UAV comprises:transmitting the override command to the target UAV using the connectioninformation for the target UAV.
 4. The method of claim 1, whereinidentifying, via the processor of the autonomous vehicle overridecontrol system, the certification for the remote pilot for the first UAVtype based on the login credentials from the remote pilot comprises:obtaining, via the processor, a pilot profile for the remote pilot,wherein the pilot profile is a data record that includes data indicatingone or more certifications for piloting different UAV types; andidentifying, via the processor, the certification for the first UAV typebased on the pilot profile.
 5. The method of claim 4, furthercomprising: retrieving, via the processor, an experience profile basedon the login credentials from the remote pilot, wherein the experienceprofile is stored within the pilot profile and includes data indicatingexperience with UAVs of the second UAV type; and configuring, via theprocessor, the first control model and the second control model based atleast in part on the experience profile.
 6. The method of claim 5,wherein the experience with the UAVs of the second UAV type comprises atime spent controlling UAVs of the second UAV type, a diversity ofmaneuvers executed with regard to the UAVs of the second UAV type, orboth.
 7. The method of claim 5, further comprising updating, via theprocessor, the experience profile based on the input command.
 8. Themethod of claim 1, wherein obtaining, via the processor, the firstcontrol model for the first UAV type based on the certification andobtaining, via the processor, the second control model for the targetUAV of the second UAV type comprises retrieving, via the processor, thefirst control model and the second control model from a database ofcontrol models.
 9. The method of claim 8, wherein retrieving, via theprocessor, the first control model and the second control model from thedatabase of control models comprises downloading, via the processor, thedatabase of control models from a remote server.
 10. The method of claim1, wherein calculating, via the processor, the first physical movementof the virtual UAV of the first UAV type using the first control modeland the input command comprises: performing, via the processor, asimulation using the first control model to determine how the virtualUAV of the first UAV type would move in response to receiving the inputcommand.
 11. The method of claim 10, wherein performing, via theprocessor, the simulation using the first control model to determine howthe virtual UAV would move in response to receiving the input commandcomprises: identifying, via the processor, a setting associated with thevirtual UAV for an engine, a flap, an actuator, a rotor, a ballast, orany combination thereof.
 12. The method of claim 10, wherein performing,via the processor, the simulation using the first control model todetermine how the virtual UAV would move in response to receiving theinput command comprises: identifying, via the processor, a change in analtitude of the virtual UAV, a speed of the virtual UAV, a roll state ofthe virtual UAV, a pitch state of the virtual UAV, a yaw state of thevirtual UAV, or any combination thereof.
 13. The method of claim 1,wherein estimating, via the processor, the second physical movement thatis similar to the first physical movement comprises: identifying, viathe processor, a first component of the target UAV that has a similarfunction as a second component of the virtual UAV.
 14. The method ofclaim 1, wherein generating, via the processor, the override command forthe target UAV using the second control model and the second physicalmovement comprises: performing, via the processor, a reverse simulationusing the second control model to identify the override command thatwould cause the target UAV to move according to the second physicalmovement.
 15. The method of claim 1, further comprising: obtaining, viathe processor, information regarding current conditions at the targetUAV; and configuring, via the processor, the first control model and thesecond control model based at least in part on the information regardingthe current conditions at the target UAV.
 16. The method of claim 15,wherein the information regarding the current conditions at the targetUAV includes sensor data from the target UAV, settings of instruments ofthe target UAV, weather conditions near the target UAV, or anycombination thereof.
 17. The method of claim 15, further comprisingsynchronizing, via the processor, a display, the control input device,or both to the information regarding the current conditions at thetarget UAV.
 18. A computing device, comprising a processor configuredwith processor-executable instructions to: identify a certification fora remote pilot for a first unmanned autonomous vehicle (UAV) type basedon login credentials from the remote pilot; obtain a first control modelfor the first UAV type based on the certification; obtain a secondcontrol model for a target UAV of a second UAV type; receive an inputcommand from a control input device corresponding to the first UAV type;calculate a first physical movement of a virtual UAV of the first UAVtype using the first control model and the input command; estimate asecond physical movement of the target UAV that is similar to the firstphysical movement of the virtual UAV; and generate an override commandfor the target UAV using the second control model and the secondphysical movement.
 19. The computing device of claim 18, wherein theprocessor is further configured with processor-executable instructionsto transmit the override command to the target UAV.
 20. The computingdevice of claim 18, wherein the processor is further configured withprocessor-executable instructions to identify the certification for theremote pilot for the first UAV type based on the login credentials fromthe remote pilot by: obtain a pilot profile for the remote pilot,wherein the pilot profile is a data record that includes data indicatingone or more certifications for piloting different UAV types; andidentify the certification for the first UAV type based on data withinthe pilot profile.
 21. The computing device of claim 20, wherein theprocessor is further configured with processor-executable instructionsto: retrieve an experience profile based on the login credentials fromthe remote pilot, wherein the experience profile is stored within thepilot profile and includes data indicating experience with UAVs of thesecond UAV type; and configure the first control model and the secondcontrol model based at least in part on the experience profile.
 22. Thecomputing device of claim 21, wherein the processor is furtherconfigured with processor-executable instructions to update theexperience profile based on the input command.
 23. The computing deviceof claim 18, wherein the processor is further configured withprocessor-executable instructions to obtain the first control model forthe first UAV type based on the certification and the second controlmodel for the second UAV type by retrieving the first control model andthe second control model from a database of control models.
 24. Thecomputing device of claim 23, wherein the processor is furtherconfigured with processor-executable instructions to retrieve the firstcontrol model and the second control model from the database of controlmodels by downloading the database of control models from a remoteserver.
 25. The computing device of claim 18, wherein the processor isfurther configured with processor-executable instructions to calculatethe first physical movement of the virtual UAV using the first controlmodel and the input command by performing a simulation using the firstcontrol model to determine how the virtual UAV would move in response toreceiving the input command.
 26. The computing device of claim 18,wherein the processor is further configured with processor-executableinstructions to estimate the second physical movement of the target UAVthat is similar to the first physical movement of the virtual UAV byidentifying a first component of the target UAV that has a similarfunction as a second component of the virtual UAV.
 27. The computingdevice of claim 18, wherein the processor is further configured withprocessor-executable instructions to generate the override command forthe target UAV using the second control model and the second physicalmovement by performing a reverse simulation using the second controlmodel to identify the override command that would cause the target UAVto move according to the second physical movement.
 28. The computingdevice of claim 18, wherein the processor is further configured withprocessor-executable instructions to: obtain information regardingcurrent conditions at the target UAV; and configure the first controlmodel and the second control model based at least in part on theinformation regarding the current conditions at the target UAV.
 29. Acomputing device, comprising: means for identifying a certification fora remote pilot for a first unmanned autonomous vehicle (UAV) type basedon login credentials from the remote pilot; means for obtaining a firstcontrol model for the first UAV type based on the certification; meansfor obtaining a second control model for a target UAV of a second UAVtype; means for receiving an input command from a control input devicecorresponding to the first UAV type; means for calculating a firstphysical movement of a virtual UAV of the first UAV type using the firstcontrol model and the input command; means for estimating a secondphysical movement of the target UAV that is similar to the firstphysical movement of the virtual UAV; and means for generating anoverride command for the target UAV using the second control model andthe second physical movement.
 30. A non-transitory processor-readablestorage medium having stored thereon processor-executable instructionsconfigured to cause a processor of a computing device to performoperations comprising: identifying a certification for a remote pilotfor a first unmanned autonomous vehicle (UAV) type based on logincredentials from the remote pilot; obtaining a first control model forthe first UAV type based on the certification; obtaining a secondcontrol model for a target UAV of a second UAV type; receiving an inputcommand from a control input device corresponding to the first UAV type;calculating a first physical movement of a virtual UAV of the first UAVtype using the first control model and the input command; estimating asecond physical movement of the target UAV that is similar to the firstphysical movement of the virtual UAV; and generating an override commandfor the target UAV using the second control model and the secondphysical movement.